<?php

/**
 * Created by PhpStorm.
 * User: LXN
 * Date: 2018/7/9
 * Time: 10:26
 */
class Validate
{

    /**
     * 身份证号码验证
     * @param $number 身份证号码
     * @return bool
     */
    static function isIdCard($number)
    {
        //加权因子
        $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
        //校验码串
        $ai = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
        $sigma = 0;
        //按顺序循环处理前17位
        for ($i = 0; $i < 17; $i++) {
            //提取前17位的其中一位，并将变量类型转为实数
            $b = (int)$number{$i};

            //提取相应的加权因子
            $w = $wi[$i];

            //把从身份证号码中提取的一位数字和加权因子相乘，并累加
            $sigma += $b * $w;
        }
        //计算序号
        $snumber = $sigma % 11;

        //按照序号从校验码串中提取相应的字符。
        $check_number = $ai[$snumber];

        if ($number{17} == $check_number) {
            return true;
        } else {
            return false;
        }
    }


    /**
     * 中文名验证
     * @param $name 用户姓名
     */
    static function isChineseName($name)
    {
        if (preg_match('/^([\xe4-\xe9][\x80-\xbf]{2}){2,4}$/', $name)) {
            return true;
        } else {
            return false;
        }
    }


    /**
     * 手机号验证
     * @param $text 手机号
     * @return bool
     */
    static function is_Mobile($text) {
        $search = '/^0?1[3|4|5|6|7|8][0-9]\d{8}$/';
        if ( preg_match( $search, $text ) ) {
            return ( true );
        } else {
            return ( false );
        }
    }


}